home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Freeware / Adobe Air 1.5 / AdobeAIRInstaller.exe / Adobe AIR / Versions / 1.0 / Adobe AIR Application Installer.swf / scripts / util / PNGHeaderUtil.as
Encoding:
Text File  |  2008-10-29  |  1.5 KB  |  65 lines

  1. package util
  2. {
  3.    import flash.filesystem.File;
  4.    import flash.filesystem.FileMode;
  5.    import flash.filesystem.FileStream;
  6.    
  7.    public class PNGHeaderUtil
  8.    {
  9.       public static const PNG_SIGNATURE:Array = [137,80,78,71,13,10,26,10];
  10.       
  11.       public function PNGHeaderUtil()
  12.       {
  13.          super();
  14.       }
  15.       
  16.       public static function validatePNGSignature(param1:String) : Boolean
  17.       {
  18.          var fs:FileStream = null;
  19.          var f:File = null;
  20.          var val:int = 0;
  21.          var i:int = 0;
  22.          var nativePath:String = param1;
  23.          var valid:Boolean = false;
  24.          try
  25.          {
  26.             f = new File(nativePath);
  27.             fs = new FileStream();
  28.             fs.open(f,FileMode.READ);
  29.             if(fs.bytesAvailable < PNG_SIGNATURE.length)
  30.             {
  31.                valid = false;
  32.             }
  33.             else
  34.             {
  35.                valid = true;
  36.                i = 0;
  37.                while(i < PNG_SIGNATURE.length)
  38.                {
  39.                   val = int(fs.readUnsignedByte());
  40.                   if(val != PNG_SIGNATURE[i])
  41.                   {
  42.                      valid = false;
  43.                      break;
  44.                   }
  45.                   i++;
  46.                }
  47.             }
  48.          }
  49.          catch(e:Error)
  50.          {
  51.             valid = false;
  52.          }
  53.          finally
  54.          {
  55.             if(fs)
  56.             {
  57.                fs.close();
  58.             }
  59.             return valid;
  60.          }
  61.       }
  62.    }
  63. }
  64.  
  65.